package com.ccc.scala.base12_regularExpression

import scala.util.matching.Regex

object Regular01 {
  def main(args: Array[String]): Unit = {
    // 正则表达式
    // 描述了一种字符串匹配的模式（pattern），
    //    可以用来检查一个串是否含有某种子串、
    //    将匹配的子串替换或者从某个串中取出符合某个条件的子串等

    // 构建正则表达式
    val pattern = "Scala".r

    val str = "Scala is Scalable Language"

    // 匹配字符串 - 第一个
    println(pattern findAllIn str) // <iterator>

    // 匹配字符串 - 所有
    val iterator: Regex.MatchIterator = pattern findAllIn str
    while (iterator.hasNext) {
      println(iterator.next())
      // Scala
      // Scala
    }

    println("***************************")

    // 匹配规则：大写，小写都可

    val pattern1 = new Regex("(S|s)cala")
    val str1 = "Scala is scalable Language"
    println((pattern1 findAllIn str1).mkString(","))

  }

}
